#ifndef glPainter_h__
#define glPainter_h__

#include "./glTypes.h"
#include "./glObject.h"
#include "./glWorld.h"
#include "./glCamera.h"

namespace GLES
{
	class Pict;
	class Canvas;
	class Painter : public Object
    {
		public:
			Painter();
			~Painter();
			SetGetProperty(ScreenSize,SizeI,_screenSize);
		public:
			Void drawPict(RectI& dst, Pict* iPict,RectI* src = NULL );
			Void drawLine( PointI& start,PointI& end );
			Void drawRect( RectI& rect );
			Void drawRect( RectI& rect,Color color );
			Void fillRect( RectI& rect,Color color );
			Void fillRect( RectI& rect );
			void drawPoint(PointI* point,int numb);
			Void setPenColor( Color color );
			Bool begin();
			Void end();
			Void present();
			Void setBrushColor( Color color );
			Bool attachPict( Pict* iPict );
			Void blendRect( RectI& rect,Color color );
			Bool attachCanvas(Canvas* canvas);
			Void detachCanvas();
	private:
			Canvas* _canvas;
			CPVRTPrint3D	m_Print3D;
	};
}

#endif